home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 2: CDPD 1
/
Almathera Ten on Ten - Disc 2: CDPD 1.iso
/
pd
/
351-375
/
354
/
memguard
/
memguard.doc
< prev
next >
Wrap
Text File
|
1995-03-14
|
4KB
|
104 lines
=========================== MemGuard III.a ===========================
======================================================================
Was written by Ralf Thanner in 100% assembly language! This release
fixes some disadvantages encountered with the original MemWatch II
program written by John Toebes.
============================== Purpose ===============================
======================================================================
MemGuard III checks the first 100 longwords, in particular location
$00000004, for random trashing. Discovering any change an Alert comes
up giving you the choice to leave the vectors as they are or to
restore their original contents. Unlike other tools of this kind
MemGuard III does not run as task, but rather links itself to the
level 3 IRQ, checking the vectors each frame. Therefore virtually no
processing time is wasted, no extra memory is used (very little
actually, but below 1000 bytes - the original MemWatch II needed about
4000 bytes while running) and the checking takes place even while
task-switching is forbidden. Furthermore most actions overriding the
vector table are discovered almost instantly.
=============================== Usage ================================
======================================================================
MemGuard III can be started both from Workbench and CLI. The following
options are recognized:
"A" -> Activate MemGuard III
"Q" -> Terminate MemGuard III
"?" -> Displays a short list of instructions
Note that these options are available from Workbench, too. A small
menu will pop up and ask you for a selection.
============================ How it works ============================
======================================================================
MemGuard III allocates a chunk of memory, copies the checking routine
into it, links it to the Vertical Blank interrupt and exits. As soon
as an application trashes a low-memory vector an alert of the
following form comes up:
#====================================================================#
# #
# MEMGUARD III (C) 1990 by Ralf Thanner #
# #
# Location: $xxxxxxxx Change: yyyyyyyy #
# #
# LEFT BUTTON TO CORRECT RIGHT BUTTON TO SAVE CHANGE #
#====================================================================#
Location displays the address having been overwritten, Change gives
the value it has received. Pressing the left mouse button will
restore the original contents of the trashed location, pressing the
right mouse button will leave the location as it is.
=============================== Author ===============================
======================================================================
MemGuard III was written by Ralf Thanner using the Kuma Seka
assembler, the original MemWatch idea was suggested from MemWatch II
which had some substancial disadvantages. The executable MemGuard and
the documentation file (this file) are placed in the public domain.
If you intend to use this program commercially please contact the
author first:
Ralf Thanner
Ellerstrasse 83
D-4000 Duesseldorf 1
Federal Republic of Germany
MemGuard III (C) Copyright 1990 by Ralf Thanner
Special thanks go to Thorsten Hopf & Olaf Barthel!
VERSIONS:
=========
- MEMGUARD III
Thought, that this was the final version...
No bug reports.
- MEMGUARD III.a
Because the MEMGUARD level3 IRQ part uses no message
ports ( would slow down everything ) i took 530(a6) as
my port. The bad thing is that 530(a6) is the vertical
blank frequency and programs which check this pointer
had little problems to interpret the frequencey (PAL ^
NTSC) when my marks were set, therefore i took now the
debug data [ 70(a6) ] as my terminal.
Added also a more userfriendly CLI-Interface.
Shortened and improved the check routine:
- needs now less than 896 bytes of memory.
- takes only about 2-3 percentage of processing
time. (MEMWATCH II took about 50%)